<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    // 函数参数
    // 当一个功能需要反复调用，调用的过程中有一些不一样的地方
    // 那么这个不一样的地方就用参数传入

    // 参数的作用，就是提高函数的灵活性

    // 参数也不一定是一个，可以是多个参数

    // 函数定义的时候，叫形参
    // 函数调用的时候，叫实参

    // 函数的参数可以有默认值

    // 可以用hasBorder = true的方式表示函数参数的默认值
    function createTable(m = 9, n = 9, hasBorder = true) {
      
      let str = hasBorder ? "<table border='1'>" : "<table>";
      for (let i = 1; i <= m; i++) {
        str += "<tr>"
        for (let j = 1; j <= n; j++) {
          str += `<td>${i} * ${j} = ${i * j}</td>`
        }
        str += "</tr>"
      }
      str += "</table>";
      document.write(str);
    }

    createTable();
    createTable(7, 5);
    createTable(4, 4, false);
  </script>
</body>
</html>